﻿using System;

namespace libEngineAI.Interfaces
{
	/// <summary>
	/// Define a board for represemtation in the screen
	/// </summary>
	public interface IBoard
	{
		/// <summary>
		/// Gets or sets the game.
		/// </summary>
		/// <value>The game.</value>
		IGame Game { get; set; }

		/// <summary>
		/// Gets or sets the max coordinates for drawing the board.
		/// </summary>
		/// <value>The max coordinates.</value>
		Coordinate MaxCoordinates { get; set; }

		/// <summary>
		/// Refresh this instance.
		/// </summary>
		void Refresh();

		/// <summary>
		/// Shows the winner.
		/// </summary>
		/// <param name="Message">Message.</param>
		void ShowWinner(string Message);

		/// <summary>
		/// Sends the message.
		/// </summary>
		/// <param name="Message">Message.</param>
		void SendMessage(string Message);

		/// <summary>
		/// Shows the Number of moves.
		/// </summary>
		/// <param name="Moves">Moves.</param>
		void ShowNMoves( long Moves );
	}
}

